// function Person() {
//     this.name = 'zhangsan'
// }

// Person.prototype.say = function () {
//     console.log('hello');
// }
// const p1 = new Person()
// console.log(p1);//显示拥有name属性，隐示拥有say属性
// delete Person.prototype.say;//只有原型自己才能操作原型上的属性和方法
// p1.say = 'str'
// p1.say();

// console.log(p1);//显示增加了say属性，隐示没有增加say属性

// console.log(p1.say());

// function Car() {

// }
// console.log(Car.__proto__);

// Bus.prototype.lunzi = 4
// Bus.prototype.fxp = 1
function Bus(number) {
    this.number = number
}
// Bus.prototype = new Car()

const bus1 = new Bus(1)
console.log(bus1);
console.log(bus1.constructor);
console.log(Bus.prototype);
console.log(Bus.prototype.prototype);
console.log(bus1.__proto__.__proto__ === Object.prototype);
console.log(bus1.__proto__.__proto__.__proto__);




// const car = new Car()
//constructor的存在是为了让所有的实例对象都知道自己是哪个对象创建的
// console.log(car.constructor);//从构造函数的原型上继承来的
// console.log(Car.prototype.constructor);
